package com.codefish.codefish_blog.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.codefish.codefish_blog.entity.ArchiveInfo;
import com.codefish.codefish_blog.entity.Article;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.codefish.codefish_blog.entity.ArticleSnapshot;
import com.codefish.codefish_blog.entity.ClassifyInfo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author codefish
 * @since 2022-03-22
 */
@Mapper
public interface ArticleMapper extends BaseMapper<Article> {
    /**
     * 查找数据库中所有文章的快照
     *
     * @return 文章快照列表
     */
    List<ArticleSnapshot> listArticleSnapshots(IPage<ArticleSnapshot> page);

    /**
     * 查找最新文章快照(8条记录)
     */
    List<ArticleSnapshot> listNewArticleSnapshots();

    /**
     * 按时间降序查找文章id、标题和文章发布时间
     *
     * @return 文章归档列表
     */
    List<ArchiveInfo> listSimplyOrderByDate();

    /**
     * 按分类标签查找文章快照
     * @param category  分类标签
     * @return 对应标签的文章快照列表
     */
    List<ClassifyInfo> listArticleSnapshotsByCategory(String category);

}
